home *** CD-ROM | disk | FTP | other *** search
/ Especial Multimedia / Especial Multimedia.iso / Multimed / Prg / WAVPLUS.ZIP / WAVPLUS2.BA_ / WAVPLUS2.BA
Text File  |  1997-09-14  |  13KB  |  208 lines

  1. 'WavPlus2.DLL should be in your Windows\System directory or in the Path
  2.  
  3. 'Assorted functions
  4. Declare Function GetWavPlusVersion% Lib "WavPlus2.DLL" ()
  5.     'returns the version number * 100, version 2.0 returns 200
  6. Declare Sub RevString Lib "WavPlus2.DLL" (ByVal ReturnString$)
  7.     'reverses the character sequence of a string (useful for a reverse InStr)
  8.  
  9. 'WAV functions (non-MCI)
  10. Declare Function PlayWavWait% Lib "WavPlus2.DLL" (ByVal FullPath$)
  11.     'plays the specified WAV and waits until completion
  12. Declare Function PlayWavNoWait% Lib "WavPlus2.DLL" (ByVal FullPath$)
  13.     'starts the specified WAV and returns immediately
  14. Declare Function PlayWavLoop% Lib "WavPlus2.DLL" (ByVal FullPath$)
  15.     'plays the specified WAV in a continuous loop
  16. Declare Function StopWavLoop% Lib "WavPlus2.DLL" ()
  17.     'stops any asynchronous (non-waiting) WAV file from playing
  18. Declare Function HowManyWavPlayDevices% Lib "WavPlus2.DLL" ()
  19.     'returns the number of WAV playing devices (0 = none)
  20. Declare Function HowManyWavRecordDevices% Lib "WavPlus2.DLL" ()
  21.     'returns the number of WAV recording devices (0 = none)
  22. Declare Function PlayWav% Lib "WavPlus2.DLL" (ByVal WavName$, ByVal wait%)
  23.     'multi-purpose routine to play system sounds, wav files, and determine if the system WAV capable
  24.     'set Wait% to 0 (FALSE) to play a WAV file asynchronously (without waiting for completion)
  25.     'set Wait% to -1 (TRUE) to play a WAV file synchronously (waiting until completion to return control to the system);
  26.     'Wait% ONLY has an effect if WavName$ is the full path of a WAV file
  27.     'WavName$ can be one of several strings
  28.     'WavName$ system sounds:    (if no sound card is available, these will beep the PC speaker)
  29.     '(these sounds always return -1, TRUE)
  30.     '   "asterisk"      =   system asterisk sound
  31.     '   "beep"          =   system default beep sound
  32.     '   "critical stop" =   system critical stop sound
  33.     '   "default'       =   system default beep sound
  34.     '   "exclamation"   =   system exclamation sound
  35.     '   "question       =   system question sound
  36.     '   "stop"          =   system critical stop sound
  37.     'WavName$ functions:
  38.     '   "available"     =   returns -1 (TRUE) if the system is WAV capable, returns 0 (FALSE) otherwise
  39.     '   "silence"       =   stops any asynchronous WAV that is currently playing (always returns -1, TRUE)
  40.     'when WavName$ is the full path of a WAV file, it will be played using Wait% to determine synchronicity
  41.     'when WavName$ is the full path of a WAV file, the return value will be -1 (TRUE) if is started okay, 0 (FALSE) otherwise
  42.  
  43. 'WAV info functions (mci)
  44. Declare Sub WavManufacturer Lib "WavPlus2.DLL" (ByVal ReturnString$)
  45.     'determines the manufacturer of the sound card ("invalid" on error)
  46. Declare Function WavVersion% Lib "WavPlus2.DLL" ()
  47.     'returns the Sound Driver version (0=invalid); version is minor*100+major
  48. Declare Function WavVolumeSupported% Lib "WavPlus2.DLL" ()
  49.     'returns -1 (TRUE) if volume control support; return 0 (FALSE) otherwise
  50. Declare Sub WavCanPlay Lib "WavPlus2.DLL" (ByVal ReturnString$)
  51.     'determines if the system can play WAV files
  52.     'returns "true" if capable; returns "false" otherwise
  53.     'before calling, set ReturnString$=space$(255)
  54.     'after calling, use trim$(TrimAtNull(ReturnString$))) to obtain answer
  55. Declare Sub WavCanRecord Lib "WavPlus2.DLL" (ByVal ReturnString$)
  56.     'determines if the system can record WAV files
  57.     'returns "true" if capable; returns "false" otherwise
  58.     'before calling, set ReturnString$=space$(255)
  59.     'after calling, use trim$(TrimAtNull(ReturnString$))) to obtain answer
  60. Declare Sub WavMaxBitSize Lib "WavPlus2.DLL" (ByVal ReturnString$)
  61.     'determines the maximum bit size supported by the system
  62.     'returns "8" or "16"
  63.     'before calling, set ReturnString$=space$(255)
  64.     'after calling, use trim$(TrimAtNull(ReturnString$))) to obtain answer
  65. Declare Sub WavMaxChannels Lib "WavPlus2.DLL" (ByVal ReturnString$)
  66.     'determines the maximum channels supported by the system
  67.     'returns "mono" or "stereo"
  68.     'before calling, set ReturnString$=space$(255)
  69.     'after calling, use trim$(TrimAtNull(ReturnString$))) to obtain answer
  70. Declare Sub WavMaxSampleRate Lib "WavPlus2.DLL" (ByVal ReturnString$)
  71.     'determines the Maximum sample rate supported by the system
  72.     'returns "11025", "22050", or "44100"
  73.     'before calling, set ReturnString$=space$(255)
  74.     'after calling, use trim$(TrimAtNull(ReturnString$))) to obtain answer
  75. Declare Sub WavGetLengthMS Lib "WavPlus2.DLL" (ByVal FullPath$, ByVal ReturnString$)
  76.     'determines the length in milliseconds of the specified file
  77.     'before calling, set ReturnString$=space$(255)
  78.     'after calling, use trim$(TrimAtNull(ReturnString$))) to obtain answer
  79. Declare Sub WavGetLengthBytes Lib "WavPlus2.DLL" (ByVal FullPath$, ByVal ReturnString$)
  80.     'determines the length in bytes of the specified file
  81.     'before calling, set ReturnString$=space$(255)
  82.     'after calling, use trim$(TrimAtNull(ReturnString$))) to obtain answer
  83. Declare Sub WavGetBitSize Lib "WavPlus2.DLL" (ByVal FullPath$, ByVal ReturnString$)
  84.     'determines the bit size of the specified file ("8" or "16")
  85.     'before calling, set ReturnString$=space$(255)
  86.     'after calling, use trim$(TrimAtNull(ReturnString$))) to obtain answer
  87. Declare Sub WavGetChannels Lib "WavPlus2.DLL" (ByVal FullPath$, ByVal ReturnString$)
  88.     'determines the number of channels of the specified file ("mono" or "stereo")
  89.     'before calling, set ReturnString$=space$(255)
  90.     'after calling, use trim$(TrimAtNull(ReturnString$))) to obtain answer
  91. Declare Sub WavGetSampleRate Lib "WavPlus2.DLL" (ByVal FullPath$, ByVal ReturnString$)
  92.     'determines the sample rate of the specified file (typically returns "11025", "22050", or "44100")
  93.     'before calling, set ReturnString$=space$(255)
  94.     'after calling, use trim$(TrimAtNull(ReturnString$))) to obtain answer
  95.  
  96. 'WAV functions (mci)
  97.     'with each of these functions, the file must first be opened with
  98.     'WavOpen.  ReturnString$ will contain any possible error message or
  99.     'the requested information
  100. Declare Sub WavOpen Lib "WavPlus2.DLL" (ByVal FullPath$, ByVal ReturnString$)
  101. Declare Sub WavOpenNew Lib "WavPlus2.DLL" (ByVal ReturnString$)
  102. Declare Sub WavClose Lib "WavPlus2.DLL" (ByVal ReturnString$)
  103. Declare Sub WavPause Lib "WavPlus2.DLL" (ByVal ReturnString$)
  104. Declare Sub WavResume Lib "WavPlus2.DLL" (ByVal ReturnString$)
  105. Declare Sub WavStop Lib "WavPlus2.DLL" (ByVal ReturnString$)
  106. Declare Sub WavStart Lib "WavPlus2.DLL" (ByVal ReturnString$)
  107. Declare Sub WavStartSectionWait Lib "WavPlus2.DLL" (ByVal lpSecStart$, ByVal lpSecEnd$, ByVal ReturnString$)
  108. Declare Sub WavStartSectionNoWait Lib "WavPlus2.DLL" (ByVal lpSecStart$, ByVal lpSecEnd$, ByVal ReturnString$)
  109. Declare Sub WavSeekEnd Lib "WavPlus2.DLL" (ByVal ReturnString$)
  110. Declare Sub WavSeekStart Lib "WavPlus2.DLL" (ByVal ReturnString$)
  111. Declare Sub WavSeekPosition Lib "WavPlus2.DLL" (ByVal lpStrValue$, ByVal ReturnString$)
  112. Declare Sub WavStatusMode Lib "WavPlus2.DLL" (ByVal ReturnString$)
  113. Declare Sub WavStatusLengthMS Lib "WavPlus2.DLL" (ByVal ReturnString$)
  114. Declare Sub WavStatusLengthBytes Lib "WavPlus2.DLL" (ByVal ReturnString$)
  115. Declare Sub WavStatusPosition Lib "WavPlus2.DLL" (ByVal ReturnString$)
  116. Declare Sub WavStatusBitSize Lib "WavPlus2.DLL" (ByVal ReturnString$)
  117. Declare Sub WavStatusChannels Lib "WavPlus2.DLL" (ByVal ReturnString$)
  118. Declare Sub WavStatusSampleRate Lib "WavPlus2.DLL" (ByVal ReturnString$)
  119. Declare Sub WavRecord Lib "WavPlus2.DLL" (ByVal ReturnString$)
  120. Declare Sub WavSave Lib "WavPlus2.DLL" (ByVal lpFileName$, ByVal ReturnString$)
  121. Declare Sub WavEraseAll Lib "WavPlus2.DLL" (ByVal ReturnString$)
  122. Declare Sub WavEraseSection Lib "WavPlus2.DLL" (ByVal lpSecStart$, ByVal lpSecEnd$, ByVal ReturnString$)
  123. Declare Sub WavSetBitSize Lib "WavPlus2.DLL" (ByVal lpValue$, ByVal ReturnString$)
  124. Declare Sub WavSetChannels Lib "WavPlus2.DLL" (ByVal lpValue$, ByVal ReturnString$)
  125. Declare Sub WavSetSampleRate Lib "WavPlus2.DLL" (ByVal lpValue$, ByVal ReturnString$)
  126.  
  127. 'MIDI info functions
  128. Declare Function HowManyMidiPlayDevices% Lib "WavPlus2.DLL" ()
  129.     'returns the number Midi playing devices (0=none)
  130. Declare Function HowManyMidiRecordDevices% Lib "WavPlus2.DLL" ()
  131.     'returns the number Midi recording devices (0-none)
  132.  
  133. 'MCI Midi open session functions
  134.     'with each of these functions, the file must first be opened with
  135.     'MidiOpen.  ReturnString$ will contain any possible error message or
  136.     'the requested information
  137. Declare Sub MidiOpen Lib "WavPlus2.DLL" (ByVal lpFileName$, ByVal ReturnString$)
  138. Declare Sub MidiOpenNew Lib "WavPlus2.DLL" (ByVal ReturnString$)
  139. Declare Sub MidiClose Lib "WavPlus2.DLL" (ByVal ReturnString$)
  140. Declare Sub MidiPause Lib "WavPlus2.DLL" (ByVal ReturnString$)
  141. Declare Sub MidiResume Lib "WavPlus2.DLL" (ByVal ReturnString$)
  142. Declare Sub MidiStop Lib "WavPlus2.DLL" (ByVal ReturnString$)
  143. Declare Sub MidiStart Lib "WavPlus2.DLL" (ByVal ReturnString$)
  144. Declare Sub MidiStartSectionWait Lib "WavPlus2.DLL" (ByVal lpSecStart$, ByVal lpSecEnd$, ByVal ReturnString$)
  145. Declare Sub MidiStartSectionNoWait Lib "WavPlus2.DLL" (ByVal lpSecStart$, ByVal lpSecEnd$, ByVal ReturnString$)
  146. Declare Sub MidiSeekEnd Lib "WavPlus2.DLL" (ByVal ReturnString$)
  147. Declare Sub MidiSeekStart Lib "WavPlus2.DLL" (ByVal ReturnString$)
  148. Declare Sub MidiSeekPosition Lib "WavPlus2.DLL" (ByVal lpStrValue$, ByVal ReturnString$)
  149. Declare Sub MidiStatusMode Lib "WavPlus2.DLL" (ByVal ReturnString$)
  150. Declare Sub MidiStatusLengthMS Lib "WavPlus2.DLL" (ByVal ReturnString$)
  151. Declare Sub MidiStatusPosition Lib "WavPlus2.DLL" (ByVal ReturnString$)
  152. Declare Sub MidiRecord Lib "WavPlus2.DLL" (ByVal ReturnString$)
  153. Declare Sub MidiSave Lib "WavPlus2.DLL" (ByVal lpFileName$, ByVal ReturnString$)
  154. Declare Sub MidiEraseAll Lib "WavPlus2.DLL" (ByVal ReturnString$)
  155. Declare Sub MidiEraseSection Lib "WavPlus2.DLL" (ByVal lpSecStart$, ByVal lpSecEnd$, ByVal ReturnString$)
  156.  
  157. 'CD audio functions  (most functions return an empty string on error)
  158. Declare Sub CDstatusTracks Lib "WavPlus2.DLL" (ByVal ReturnString$)
  159.     'returns the number of tracks on the CD
  160.     'on data (non-musical) CD's this will return "1"
  161.     'before calling, set ReturnString$=space$(255)
  162.     'after calling, use val(trim$(TrimAtNull(ReturnString$))) to obtain track count
  163. Declare Sub CDstatusMode Lib "WavPlus2.DLL" (ByVal ReturnString$)
  164.     'returns the current status of the CD audio device:
  165.     '   not ready, open, paused, playing, seeking, or stopped
  166.     'before calling, set ReturnString$=space$(255)
  167.     'after calling, use trim$(TrimAtNull(ReturnString$)) to obtain mode
  168. Declare Sub CDstatusCurrentTrack Lib "WavPlus2.DLL" (ByVal ReturnString$)
  169.     'returns the number of the current track on the CD
  170.     'before calling, set ReturnString$=space$(255)
  171.     'after calling, use val(trim$(TrimAtNull(ReturnString$))) to obtain current track
  172. Declare Sub CDstatusTrackLength Lib "WavPlus2.DLL" (ByVal ReturnString$, ByVal TrackNbr%)
  173.     'returns the length (mm:ss:ms) specified track on the CD
  174.     'TrackNbr is the track number
  175.     'before calling, set ReturnString$=space$(255)
  176.     'after calling, use trim$(TrimAtNull(ReturnString$)) to obtain track's length
  177. Declare Sub CDstatusInserted Lib "WavPlus2.DLL" (ByVal ReturnString$)
  178.     'returns the word "true" if CD is in drive, else it returns "false"
  179.     'before calling, set ReturnString$=space$(255)
  180.     'after calling, use trim$(TrimAtNull(ReturnString$)) to obtain answer
  181. Declare Sub CDstatusPosition Lib "WavPlus2.DLL" (ByVal ReturnString$)
  182.     'returns the current position (track:mm:ss:ms) of the CD
  183.     'before calling, set ReturnString$=space$(255)
  184.     'after calling, use trim$(TrimAtNull(ReturnString$)) to obtain answer
  185. Declare Sub CDpause Lib "WavPlus2.DLL" (ByVal ReturnString$)
  186.     'pauses a CD audio session (with some drivers this is the same as stop)
  187.     'before calling, set ReturnString$=space$(255)
  188.     'after calling, use trim$(TrimAtNull(ReturnString$)) will contain any possible error
  189. Declare Sub CDresume Lib "WavPlus2.DLL" (ByVal ReturnString$)
  190.     'resumes a CD audio session (with some drivers this has no effect)
  191.     'before calling, set ReturnString$=space$(255)
  192.     'after calling, use trim$(TrimAtNull(ReturnString$)) will contain any possible error
  193. Declare Sub CDstop Lib "WavPlus2.DLL" (ByVal ReturnString$)
  194.     'stops a CD audio session
  195.     'before calling, set ReturnString$=space$(255)
  196.     'after calling, use trim$(TrimAtNull(ReturnString$)) will contain any possible error
  197. Declare Sub CDplay Lib "WavPlus2.DLL" (ByVal ReturnString$, ByVal Track%)
  198.     'begins a CD audio session
  199.     'Track% is the track to play (0 = all tracks)
  200.     'before calling, set ReturnString$=space$(255)
  201.     'after calling, use trim$(TrimAtNull(ReturnString$)) will contain any possible error
  202. Declare Sub CDgoto Lib "WavPlus2.DLL" (ByVal ReturnString$, ByVal Track%)
  203.     'moves to the specified track on the CD
  204.     'Track% is the track to relocate to
  205.     'before calling, set ReturnString$=space$(255)
  206.     'after calling, use trim$(TrimAtNull(ReturnString$)) will contain any possible error
  207.  
  208.